import axios from "axios";

const request = axios.create({
    baseURL: 'http://localhost:9090',
    timeout: 30000    //超时时间为30秒
})

// 请求拦截器
// 所有的请求都会到这里来,会去执行第一个参数，同时自动传入config
request.interceptors.request.use(
    config => { // 在发送请求之前做些什么
      config.headers['Content-Type'] = 'application/json;charset=utf-8';
      let user = localStorage.getItem('user') ? JSON.parse(localStorage.getItem('user')) : {};
      if (user?.data?.token) {
        config.headers['token'] = user.data.token; // 设置请求头
      } 
      return config;
    }, 
    error => {  // 对请求错误做些什么
      console.log('request error: ' + error) // for error debug
      return Promise.reject(error);
    }
  );

//响应拦截器
//所有的响应都会到这里来,会去执行第一个参数，同时自动传入response
request.interceptors.response.use(
    response => {  // 对响应数据做点什么
        let res = response.data


        return res
    }, error => {   //对响应错误做点什么
        console.log('response error: ' + error) // for error debug
        return Promise.reject(error)
    })

export default request